package cnn.user.service;

import cnn.topfox.common.DataQTO;
import cnn.topfox.common.Response;
import cnn.topfox.service.AdvancedService;
import cnn.user.dao.SalaryDao;
import cnn.user.entity.SalaryDTO;
import cnn.user.entity.SalaryQTO;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class SalaryService extends AdvancedService<SalaryDao, SalaryDTO, SalaryQTO> {

    @Override
    public void init() {
        super.init();
        sysConfig().setRedisCache(false);
        isAutoKeyId=true;
    }

    @Override
    public void beforeInsertOrUpdate(SalaryDTO beanDTO, String dbState) {
        //检查重复
        checkData(beanDTO).setFields("updateUser", "createUser").excute();
    }


    /**
     * 多行执行本方法一次, 新增和修改的 之前的逻辑写到这里,  如通用的检查, 计算值得处理
     */
    @Override
    public void beforeInsertOrUpdate(List<SalaryDTO> list) {
//        //多行执行依据SQL, 检查用户将编号是否重复 并抛出异常
//        checkData(list)
//                .addField("code", "用户编号")//有异常抛出的错误信息的字段中文标题自定义
//                .excute();

        //多行执行依据SQL, 检查手机号是否重复 并抛出异常
        checkData(list)
                .addField("createUser", "手机号")
                .addField("amount", "编号")
                .excute();
    }
    @Override
    public int insert(SalaryDTO dto) {
        return super.insert(dto);
    }

    @Override
    public int update(SalaryDTO dto) {
        return super.update(dto);
    }

    @Override
    public int deleteByIds(Number... ids) {
        return super.deleteByIds(ids);
    }

    @Override
    public Response<List<SalaryDTO>> list(DataQTO qto) {
        return super.list(qto);
    }

}